================================================================
There is a call at userMem+3 (9D98h) that is used to load the
value of the next element into DE and A. It simply changes the
counter and pointer and then does:
 B_Call Mov9ToOP1        ;EF7A41
 B_Call ConvOP1          ;EFEF4A

     The counter and pointer is located in OP6. OP6+0 is the
counter for the number of list elements. This decrements by one
until it reaches 0 (signaling no more elements). Once it hits 0,
that is as far as it goes. The program continues, though, and
the pointer still increments by 9 each time. The 2-byte pointer
to the next element is located at OP6+1 and OP6+2. Sorry the
source (the kind that an assembler might use) isn't included.
CalcSys can dissassemble the program into the nice verbose
format if you want. Otherwise, you could just do "db " followed
by the code (At least I think so. I don't really know the syntax
used by assemblers too well.)